Числовые форматы используются в строках
со вставками и в функции format.
Форматы задаются по правилам функции printf языка С.
Числовой формат начинается со знака %
и завершается одной из ключевых букв d, i, b, o, u, x, X, f, e, E, g, G.
Между % и ключевой буквой могут быть указаны необязательные параметры:
| %[flag][width]d или i | целое число со знаком |
| %[flag][width]u | целое число без знака |
| %[width]b | двоичное целое число без знака |
| %[flag][width]o | восьмеричное целое число без знака |
| %[flag][width]x | шестнадцатеричное целое без знака, используются прописные буквы a, b, c, d, e, f |
| %[flag][width]X | шестнадцатеричное целое без знака, используются заглавные буквы A, B, C, D, E, F |
| %[flag][width][.prec]e
%[flag][width][.prec]E |
вещественное в экспоненциальной форме: 1.2e4, 3.1E-4 |
| %[flag][width][.prec]f | вещественное с плавающей точкой: 12000.0, 0.00031 |
| %[flag][width][.prec]g
%[flag][width][.prec]G |
кратчайшая из двух форм: e и f |
Форматы дат и времени используются в строках со вставками и в функции format.
Форматы задаются по правилам функции strftime языка С. В отличие от числовых форматов любое количество форматов дат-времени можно объединить для вывода одного значения. Например, результатом выражения
"Today [now() %#d %B %Y, %A, %H:%M:%S]."будет строка вида
Today 4 February 2000, Monday, 15:04:55Необязательный аргумент [flag] может принимать только одно значение #. Для форматов %#c и %#x он выводит дату в более подробной форме. Для остальных форматов — удаляет лидирующие нули (4 вместо 04).
| %[flag]c | стандартное представление даты и времени |
| %[flag]x | стандартное представление даты |
| %X | стандартное представление времени |
| %[flag]Y | четырёхзначный год (от 1970) |
| %[flag]y | последние две цифры года (от 00 до 99) |
| %B | полное название месяца |
| %b | сокращённое название месяца |
| %[flag]m | номер месяца (от 01 до 12) |
| %[flag]d | день месяца (от 01 до 31) |
| %[flag]H | часы (от 00 до 24) |
| %[flag]I | часы (от 00 до 12) |
| %p | индикатор до полудня / после полудня |
| %[flag]M | минуты (от 00 до 59) |
| %[flag]S | секунды (от 00 до 59) |
| %a | сокращённое название дня недели |
| %A | полное название дня недели |
| %[flag]w | порядковый номер дня недели (0=воскресенье, 1=понедельник, ..., 6=суббота.) |
| %[flag]j | порядковый номер дня в году (от 001 до 366) |
| %[flag]U | порядковый номер недели в году (от 00 до 51) если неделя начинается с воскресенья |
| %[flag]W | порядковый номер недели в году (от 00 до 51) если неделя начинается с понедельника |
| %z
%Z |
полное и сокращённое название часового пояса |
Форматы даты-времени b, d, x, X конфликтуют с одноимёнными числовыми форматами. Если одна из этих букв оказалась последней в формате даты-времени, то после неё следует поставить букву T:
"Today [now() %#xT]."